package com.ruoyi.manage.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 合同工资明细对象 emp_contract_salary
 * 
 * @author cf
 * @date 2025-06-04
 */
public class EmpContractSalary extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 工资记录ID */
    private Long salaryId;

    /** 关联合同ID */
    @Excel(name = "关联合同ID")
    private Long empContractId;

    /** 生效日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生效日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date effectiveDate;

    /** 基本工资 */
    @Excel(name = "基本工资")
    private BigDecimal baseSalary;

    /** 奖金 */
    @Excel(name = "奖金")
    private BigDecimal bonus;

    /** 津贴 */
    @Excel(name = "津贴")
    private BigDecimal allowance;

    /** 应发工资 */
    @Excel(name = "应发工资")
    private BigDecimal totalSalary;

    /** 是否当前有效（1=是，0=否） */
    @Excel(name = "是否当前有效", readConverterExp = "1==是，0=否")
    private Integer isCurrent;

    public void setSalaryId(Long salaryId) 
    {
        this.salaryId = salaryId;
    }

    public Long getSalaryId() 
    {
        return salaryId;
    }
    public void setEmpContractId(Long empContractId) 
    {
        this.empContractId = empContractId;
    }

    public Long getEmpContractId() 
    {
        return empContractId;
    }
    public void setEffectiveDate(Date effectiveDate) 
    {
        this.effectiveDate = effectiveDate;
    }

    public Date getEffectiveDate() 
    {
        return effectiveDate;
    }
    public void setBaseSalary(BigDecimal baseSalary) 
    {
        this.baseSalary = baseSalary;
    }

    public BigDecimal getBaseSalary() 
    {
        return baseSalary;
    }
    public void setBonus(BigDecimal bonus) 
    {
        this.bonus = bonus;
    }

    public BigDecimal getBonus() 
    {
        return bonus;
    }
    public void setAllowance(BigDecimal allowance) 
    {
        this.allowance = allowance;
    }

    public BigDecimal getAllowance() 
    {
        return allowance;
    }
    public void setTotalSalary(BigDecimal totalSalary) 
    {
        this.totalSalary = totalSalary;
    }

    public BigDecimal getTotalSalary() 
    {
        return totalSalary;
    }
    public void setIsCurrent(Integer isCurrent) 
    {
        this.isCurrent = isCurrent;
    }

    public Integer getIsCurrent() 
    {
        return isCurrent;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("salaryId", getSalaryId())
            .append("empContractId", getEmpContractId())
            .append("effectiveDate", getEffectiveDate())
            .append("baseSalary", getBaseSalary())
            .append("bonus", getBonus())
            .append("allowance", getAllowance())
            .append("totalSalary", getTotalSalary())
            .append("isCurrent", getIsCurrent())
            .append("remark", getRemark())
            .append("createTime", getCreateTime())
            .toString();
    }
}
